package com.liu.ibatis;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * @author LIU
 * @version 1.0
 * @description TODO
 * @date 2024/2/23 10:25
 * MyBatis 对数据库中的事务进行了一层简单的抽象，提供了简单易用的事务接口和实现，实现数据库的事务控制，
 */
public class JdbcTransaction implements Transaction{

    /**
     * 连接池
     */
    private DataSource dataSource;

    /**
     * 自动提交标志
     */
    private boolean autoCommit;

    /**
     * 连接对象
     */
    private Connection connection;

    @Override
    public void commit() {

    }

    @Override
    public void rollback() {

    }

    @Override
    public void close() {

    }

    @Override
    public Connection getConnection() {
        return connection;
    }

    @Override
    public void openConnection() {
        if (connection == null){
            try {
                connection = dataSource.getConnection();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
    }
}
